'32-Bit QuickDraw: Version 1.2 Features32-Bit QuickDraw%New Features (In No Particular Order)#PICTs Contain Font Name Information&Direct PixPat Structures Now Supported%Direct 'cicn' Resources Now Supported<GWorlds Can Now Be Allocated in MultiFinder Temporary MemoryIndexed to Indexed Dithering"32-Bit Addressed PixMap StructuresUpdated GetPixBaseAddress_CopyBits from Screen DevicesNew Picture Recording TrapRandom NotesFurther Reference:Basic QuickDraw Q&As2Sending PostScript via PostScriptHandle PicComment'Macintosh PICT-to-PostScript conversion'Calling InitCursor instead of SetCursorPICT fontName opcode Using PicComments to rotate text*Using dithered drawing mode with QuickDraw(Code for reversing Macintosh PICT images7Use srcOr instead of srcCopy for Macintosh text drawing%Techniques for graying Macintosh text3Updating Macintosh cursor without mouse competition'System 7 QuickDraw DrawText performanceMacintosh animation samplesCopyBits bug and workaround+Macintosh picture (PICT) 90-degree rotation3Macintosh QuickDraw and pen characteristic routines8Detecting whether application window is partially hidden,How to tell whether GetPictInfo is available!GrafPort patStretch: valid values&Where CopyBits looks for memory to use2PICTs with PostScript PICT comments and memory use8Inside Macintosh Vol. V PICT opcode size should be fixed1Code for filling an area fully bounded by polygon7Use crsrNew flag to unobscure cursor without mouse move!Macintosh QuickDraw region quirks,How to get Macintosh QuickDraw arc endpoints*Macintosh CopyBits no longer limited to 3K;Why grafPort’s clipRgn should be changed before OpenPicture+Macintosh CalcMask and CopyMask code sample-Macintosh QuickDraw LineTo bug and workaroundQuickDraw globals at INIT timeSo Many Bitmaps, So Little Time'A Leading Cause of Color Cursor CursingColor Manager Q&As.Color Manager search and complement procedures*Using ResEdit to get Apple icon RGB values.Macintosh Color Manager versus Palette ManagerColor QuickDraw Q&As?Using a Macintosh PICT file that’s larger than available memory+Getting a single scan line from a PICT file'Determining pixel depth from PICT files Direct RGB PICT file compressionSaving 32-bit Macintosh PICTs3BitMapToRgn for nonColor QuickDraw Macintosh models0Macintosh QuickDraw pixel map stack requirements6Color and nonColor QuickDraw trap dispatch differences-Macintosh OpenCPicture 72 dpi calculation bug"GetGWorldPixMap bug and workaround(System 7 TextMode problem and workaround9Using dithering and animation on the same Macintosh image6Rendering color PICTs in a black-and-white environment;Highlighting ignored if foreground same as background color*Gestalt 'qdrw' selector bug and workaround-Version 2 PICTs on pre-Color QuickDraw models GetPixelsState is slow sometimes(OpenCPicture and PICTs other than 72 dpi+No System 7 QuickDraw alpha channel support$BitsToRgn and MPW BitMapToRegionGlue+Ensuring even rowBytes for 'cicn' resources;CopyBits blend mode: OpColor's affect & eliminating banding(Icon dimming under System 7 and System 68QuickDraw out of memory if debugger invoked by “Jackson”6ditherCopy not supported on LaserWriter or ImageWriter;Macintosh Color QuickDraw CalcCMask and SeedCFill clarified#System 7.0ß1 BitMapToRgn limitation*Macintosh Color QuickDraw and packed PICTs(Macintosh PICT color picture file format<Mac PixMap is clipped to visRgn defined by screenBits.bounds5Using Mac System 7 OpenCPicture for higher resolution(How to identify 32-Bit QuickDraw version6Macintosh QDError function under System 6 and System 76Macintosh CopyBits transfer modes changed for System 7+Which QuickDraw versions support SetEntries+Macintosh pixel map maximum rowBytes change3Use assembly to flip a 24-bit off-port color PixMap:Construct a 'clut' instead of changing b/w palette entries7Why PlotCIcon requires GetCIcon instead of Get1Resource;CopyBits maps source PixMap colors to GDevice inverse table,How Macintosh system draws small color icons8Spooling and preserving Macintosh QuickDraw pixmap depth$Determining the resolution of a PICTAdding Color With CopyBitsWhat HappensPossible ProblemsHow To Colorize—An ExampleFurther Reference:+Deaccelerated _CopyBits & 8•24 GC QuickDrawIntroduction._CopyBits Conforms To The Same Scheme, Except…Further Reference:
Drawing IconsFurther Reference:Drawing Icons the System 7 WayIntroductionThe New 'ic' Type ResourcesCIcon Families (or Suites and Caches As the Tool Set Refers to Them)Drawing Modes or Transforms Alignment5And Now (Drum Roll Please) the Calls and What to PassIcon Family CallsIcon Cache Calls"Plotting Icons Not Part of a SuiteMiscellaneous CallsError Codes$Type(def)s and Glue for Pascal and CFurther Reference:Displaying Large PICT Files Future CompatibilitySpooling from a PICT fileMPW Pascal Example
MPW C ExampleMore on Picture CompatibilityFurther Reference:LaserWriter Utility Q&As9SCSI drive format for LaserWriter II NTX with Rev. 3 ROMs!Drawing Into an Off-Screen Bitmap
What Works#What Do Those Constants Mean AnywayFigure 1–Bit DefinitionsFurther Reference:*Things You Wanted to Know About _PackBits**But Were Afraid to AskLength Doesn’t Matter$Mommy, How Do They Make Packed Bits?Further Reference:'Palette Manager Changes in System 6.0.2Application PaletteOne Palette, Many Ports
Color UpdatesCopyPalettePalette Manager Q&As0Macintosh Palette Manager and offscreen graphics8RestoreDeviceClut and color flash when application quits;Restoring Finder desktop colors after using Palette Manager:SetPalette cUpdates, NSetPalette, and window update eventsPicture Comments—The Real DealIntroductionPicture Comments Repertoire(Cohabitation of QuickDraw and PostScriptDevice-Independent Pictures-Keeping QuickDraw and PostScript Synchronized
Text RotationSome Additional HintsLine Layout Control,Figure 1—Effect of the LineLayoutOff comment4Figure 2—Desired result of the LineLayoutOff commentCaveatsAnd Finally the Good NewsString Delimitation Polygon Comment FamilyCFigure 3—Output on QuickDraw Figure 4—Output on PostScript printernprinter%Additional Comments and Explanations CaveatsDashed LinesCaveatFractional Line WidthExample•A Slight ImperfectionGraphics RotationPostScript CommentsCaveatFormsPrinting Picture Comments3(More or Less) Obsolete PostScript Picture Comments/Appendix: Pascal Interface for Picture CommentsFurther Reference:2Every Picture [Comment] Tells Its Story, Don’t It?Further Reference:'QuickDraw’s Internal Picture DefinitionTermsNotesFurther Reference:Picture Utility Q&As/GetPictInfo and QuickTime compressed PICT files7NewPalette doesn’t use CTab2Palette to create a paletteSpooling PixMaps to disk5Getting the color usage from a picture under System 6Pictures and Clip RegionsFurther Reference:Plotting Small IconsIntroductionSICN' FatBits'SICN' ResourceThe Right Tools for the JobPascalCThe Missing CountPascalCThe Plot 'SICN'sPascalCPascalC
That Was EasyFurther Reference:*Principia Off-Screen Graphics Environments
Off-ScreeningThe Building Blocks
The CGrafPort
The PixMapThe GDevice>Figure 1 Conversion of RGBColor Record to Inverse-Table IndexAll Together NowAFigure 2 Relationships Between Structures for Off-Screen DrawingBuilding the BlocksBuilding the CGrafPortMPW Pascal Listing 1MPW C Listing 1Building the PixMapMPW Pascal Listing 2MPW C Listing 2Building the GDeviceMPW Pascal Listing 3MPW C Listing 3
All Fall DownMPW Pascal Listing 4MPW C Listing 4Playing With BlocksMPW Pascal Listing 5MPW C Listing 5Put That Checkbook Away!About That Creation Thing . . .MPW Pascal Listing 6MPW C Listing 6Changing Your EnvironmentMPW Pascal Listing 7MPW C Listing 7#Changing the Off-Screen Color TableFollow That Screen!MPW Pascal Listing 8MPW C Listing 8Choosing Your Off-Screen MemoryMPW Pascal Listing 9MPW C Listing 9The GWorld FactorMPW Pascal Listing 10MPW C Listing 10I Want the Best Performance!HI Want to Use a NuBus Memory Card for My GWorld’s Off-Screen Pixel Image 9I Want My Program to Work on All System Software ReleasesAre We There Yet?Further Reference:Of Time and Space and _CopyBits)Can You Influence the Speed of _CopyBits?$Influences on the Speed of _CopyBitsDimensions of the Copied Area5Shape and Size of the Clip, Visible, and Mask RegionsTransfer ModesColorizationPixel Alignment$Figure 1–offscreen Needs RealignmentFigure 2–offscreen Aligned Speed of the Hardware, Of CourseDepth of Pixel Maps
Color MappingThe ctSeed FieldThe ctFlags FieldSequential Color TablesIndexed Color Tables"Color Mapping or Non-Color MappingScalingOf Time and SpaceFurther Reference: